/*
 * Copyright (C) 2012 POAS.VSTU
 */


package ui;

import model.*;

import java.util.ArrayList;
import javax.swing.JPanel;


/**
 * Игровая панель игры, в пределах которой идет игровой процесс и перемещаются карты
 */
public class UIGamePanel extends JPanel implements GameEventListener {
    
    // Размеры панели
    private static final int WIDTH = 700;
    private static final int HEIGHT = 500;
    
    // Фон
    //private static final Image BACKGROUND_IMAGE;
    
    /** Модель игры*/
    private GameModel           mModel;       
    /** Отбой */
    private UICardPileRecycle   mCardPileRecycle;
    /** Кон */
    private UICardPileKitty     mCardPileKitty;     
    /** Колода карт */
    private UICardStack         mCardStack;             
    /** Карта, которая не раздается игрокам */
    private UICardPile          mExtraCardPile;          
    
    // Игроки, начиная от игрока-человека по часовой стрелке
    private ArrayList<UIPlayer> mPlayers;
    
    /**
     * Конструктр
     */
    public UIGamePanel() { 

    }
    
    /** Получить модель игры */
    public GameModel getModel() {
        return mModel;
    }
    
    /** Получить ширину игрового поля */
    public int getWidth() {
        return WIDTH;
    }
    
    /** Получить высоту игрового поля */
    public int getHeight() {
        return HEIGHT;
    }
  
    
    /**
     * Управление возможностью воздействовать на игровое поле игроком
     * @param isEnabled - true, чтобы игроку были доступны все действия над игровым полем  
     */
    private void enableUserActions(boolean isEnabled) {
    
    }
    
    @Override
    public void cardsMoved(GameEvent e) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public void cardsExtracted(GameEvent e) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public void cardsAdded(GameEvent e) {
        throw new UnsupportedOperationException("Not supported yet.");
    }
}